A Formalization of the Simply Typed Lambda Calculus in Coq

نویسنده

  • Adam Koprowski
چکیده

In this paper we present a formalization of the simply typed lambda calculus with constants and with typing à la Church. It has been accomplished using the theorem prover Coq. The formalization includes, among other results, definitions of typed terms over arbitrary many-sorted signature, a substitution operating on typing judgements, an equivalence relation generalizing the concept of α-convertibility to free variables and a proof of strong normalization of β-reduction. The formalization has been used in a bigger project of certification of the higher-order recursive path ordering where well-foundedness of the union of the higher-order recursive path ordering and β-reduction was the main result.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Mechanized Bisimulation for the Nu-Calculus

We introduce a Sumii-Pierce-Koutavas-Wand-style bisimulation for Pitts and Stark’s nucalculus, a simply-typed lambda calculus with fresh name generation. This bisimulation coincides with contextual equivalence and provides a usable and elementary method for establishing all the subtle equivalences given by Stark [29]. We also describe the formalization of soundness and of the examples in the Co...

متن کامل

Certified Higher-Order Recursive Path Ordering

Recursive path ordering (RPO) is a well-known reduction ordering introduced by Dershowitz [6], that is useful for proving termination of term rewriting systems (TRSs). Jouannaud and Rubio generalized this ordering to the higher-order case thus creating the higher-order recursive path ordering (HORPO) [8]. They proved that this ordering can be used for proving termination of higher-order TRSs wh...

متن کامل

A Formalization of Strong Normalization for Simply-Typed Lambda-Calculus and System F

We formalize in the logical framework ATS/LF a proof based on Tait’s method that establishes the simply-typed lambda-calculus being strongly normalizing. In this formalization, we employ higher-order abstract syntax to encode lambda-terms and an inductive datatype to encode the reducibility predicate in Tait’s method. The resulting proof is particularly simple and clean when compared to previou...

متن کامل

Logical Relations for Coherence of Effect Subtyping

A coercion semantics of a programming language with subtyping is typically defined on typing derivations rather than on typing judgments. To avoid semantic ambiguity, such a semantics is expected to be coherent, i.e., independent of the typing derivation for a given typing judgment. In this article we present heterogeneous, biorthogonal, step-indexed logical relations for establishing the coher...

متن کامل

Program Extraction from Normalization Proofs

This paper describes formalizations of Tait’s normalization proof for the simply typed λ-calculus in the proof assistants Minlog, Coq and Isabelle/HOL. From the formal proofs programs are machine-extracted that implement variants of the well-known normalization-by-evaluation algorithm. The case study is used to test and compare the program extraction machineries of the three proof assistants in...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2006